package com.hzx.until;


import java.io.UnsupportedEncodingException;
import java.math.BigInteger;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
import java.util.Collection;
import java.util.Map;

public class StringUntil {

    private StringUntil(){
        //字符串工具类
    }

    //去掉字符串左右两边的空格
    public static String killSpace(String str){
        return str.trim();
    }

    //判断字符串是否为空
    public static boolean isNullOrEmpty(Object o){
        //空对象
        if(o==null){
            return true ;
        }
        //空的字符队列
        if(o instanceof CharSequence){
            return ((CharSequence) o).length()==0 ;
        }
        //空的集合
        if(o instanceof Collection){
            return ((Collection) o).isEmpty() ;
        }
        //空的Map
        if(o instanceof Map){
            return ((Map) o).isEmpty() ;
        }
        //空的数组
        if(o instanceof Object[]){
            Object[] object = (Object[])o ;
            if(object.length==0){
                return true ;
            }
            //检测数组里面的各个元素是否是一个空元素
            for (Object o1 : object) {
                if(!StringUntil.isNullOrEmpty(o1) ){
                    return false ;
                }
            }
        }
        return false ;
    }

    //名字规范化
    public static String userNameFormat(String str) {
        str=str.trim() ;
        return str ;
    }

    //密码规范化
    public static String userPasswordFormat(String str) {
        str = str.trim() ;
        return str ;
    }

    //字符串加密
    public static String strEncrypt(String str){
        MessageDigest md = null;
        try {
            md = MessageDigest.getInstance("MD5");
        } catch (NoSuchAlgorithmException e) {
            e.printStackTrace();
        }
        md.update(str.getBytes());
        return new BigInteger(1,md.digest()).toString(16);
    }

    public static String userPhoneFormat(String phone) {
        return phone.trim();
    }
}
